package com.lwy.setter2;

import java.lang.annotation.*;

/**
 * 枚举填充注解
 *
 * @author lwy
 */
@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@StufferMeta(beanClass = StuffEnumImpl.class)
public @interface StuffEnum {

    /**
     * 枚举类型
     *
     * @return 枚举类型
     */
    Class<? extends Enum<?>> enumClass();

    /**
     * 源字段数据对应的枚举字段值
     *
     * @return 源数据对应的枚举字段值
     */
    String originEnumField() default "name";

    /**
     * 目标字段数据对应的枚举字段值
     *
     * @return 目标字段对应的枚举字段值
     */
    String targetEnumField() default "desc";

    /**
     * 目标字段名，用于填充的字段值
     *
     * @return 目标字段名
     */
    String targetField();
}
